home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PD Collection CD 1
/
PD Collection CD 1.iso
/
textual
/
filter
/
!Filter
/
!Help
< prev
next >
Wrap
Text File
|
1992-12-30
|
9KB
|
268 lines
!Filter
--------
Version 1.00 (30-Dec-92)
Files included in this package :-
!Run
!RunImage
!Sprites
!Help [this file]
Templates
Sprites
chkspr ) my chkspr util, rename the app and see what
!Boot ) happens (nothing!), description in Comments.
Deafult default filter
This application filters bits and bytes from files! It can
either remove the byte entirely or replace it with another
byte.
Eg Remove all CRs if the file has CRLFs
Change all CRs to LFs
It can also strip the top bit from files etc etc etc.
It is not a search and replace application, it only
works on one byte at a time.
Filters can be saved and loaded
This app was written because my HD was filling up with slow
BASIC file operator programs so I decided to write a nice
WIMP one. The skeleton was my !Cobbler app (take three
300k sprite files and merge them into one clear file!), all
I needed to do was prune down the ARM code. Easy. Oh no -
the hard part is a nice user interface to permit
modification of filters. Hopefully all that you require is
provided.
The WIMP does not multi task during the filtration but
seeing as the filter code is written in ARM code with
memory buffers, it is VERY quick. !Filter will filter a
100k file in the the time it takes to load and save it
(actually if you choose a filter the removes most of the
characters it will filter in a blink).
This app is dedicated to Acorn cos without cribbing the
redraw code from !Chars it would have taken me at least
four times as long.
Starting Up
-----------
Load !Filter by double clicking on it. Its iconbar sprite
will lodge on the right hand side of the iconbar. If you
click on the iconbar sprite the 'Filter Specification'
window will open. This window allows you to edit the
filter, any edit takes place immediately.
You will notice the window is split into two obvious
sections:- an icon section and the filter description. The
ASCII value of any character can be read off the keys above
and to the left of the filter description.
There is also a menu accesible from either the iconbar
sprite or 'Filter Specification' window that allows you to
save filter files.
Editing the filter
------------------
You can edit the filter in different ways, they are split
in two sections :-
1) You can alter a character so it maps to a different
character
2) You can mask the character out
All bottom row icons work only on selected regions.
To select a region simply drag SELECT over your chosen area
of the filter. Should you wish to select the whole filter
then just click on 'Select All' ('Clear all' does the
opposite). If you wish to just select one character just
click with SELECT rather than drag. If you did not want to
lose your last selection then use ADJUST instead of SELECT,
it behaves exactly the same without clearing any selected
characters.
You can now operate on the selected characters. The
writeable icon on the left allows the entry on a hex byte
(which you could have calculated using my SciCalc!) with
which you could AND, OR or EOR against all of the selected
region. NOT is a unary operator that inverts the
characters. If you click with SELECT you will lose the
selection, ADJUST keeps it.
If you select 'Filter out' then rather than seeing the
characters alter you will find a red (or green if they are
selected) spodge. This signifies that these characters will
be removed from any file rather than altered. To reverse
this decision then just select the filtered area and click
on 'Filter out' again.
There is one final method of altering the filter and that
is by dragging one character to another while holding
<SHIFT> (actually you need only hold <SHIFT> down when you
begin the drag). Once you complete that drag the character
you started on will replace the character you finished on.
If you decided that the drag was not such a good idea then
just finish the drag somewhere off the filter desciption
(ie the icon area).
You can now save the filter you have created by calling
the menu up (over the 'Filter Specificaton' window or
iconbar sprite - they are exactly the same) and using the
standard save box in the 'Save' submenu.
You can load filter files by double clicking on them or
dropping them on any part of the !Filter application, this
overwrites the old file.
'Reset' clears the filter so that should any file be
dropped on !Filter it will be completely unaltered.
Using the filter
----------------
Using the filter is dead easy. Simply drop any file you
wish to be filtered on the iconbar sprite (or 'Filter
Specification' window if you wish) and then drag the
resulting save box onto an awaiting directory viewer (or
any application you wish - !Filter supports inter-
application file transfer, although only with Wimp$Scrap).
Hopefully the saved file will be filtered. All files will
maintain the filetype they orignially possesed and the only
type that will be intercepted is that of filter files with,
of course, will be loaded as filters!
If you click on !Filter's iconbar sprite or the 'Filter
Specification' window the save box will disappear and you
will have to repeat the drag. Do note that !Filter suggests
a filename that is the same as the one dragged onto it but
with an appended '/', if the leafname is ten characters
long then the leafname will be truncated to nine characters
to permit the addition of the '/' character.
Configuration
-------------
If there if a filter file in the application directory
named 'Default' then this will be loaded at the time the
application is run so long as you have not double-clicked
on another filter file.
Filter files have file type &043
If you wish to change the type of the filter files then you
need to alter the system variable in the file '!Boot' that
reads :-
Set Filter$FileType 043
to the value you wish the type to be. Do note that if the
value is not a three digit hex number then it will be
rejected and !Filter will use &043 instead. Double click on
the '!Boot' file once you have changed the filetype to
update some of !Filter's system variables.
Filter File Format
------------------
Filter files are 512 bytes long. They are split into two
parts of 256 bytes. Bytes 0 to 255 contain the
corresponding bytes that replace ASCII values 0 to 255.
Bytes 256 to 511 contain boolean flags (one per byte).
These correspond to ASCII values 0 to 255 and if the flag
is true then !Filter will completely filter out that ASCII
value.
Comments
--------
The ChkSpr Utility
The chkspr utility will, when run, examine the '!Sprites'
file and check if the first sprite is the application's
name. If not that sprite's name will be changed to the
application directory's name. The !Boot file contains
'Run ChkSpr', this runs the util, the next line contains
'IconSprites <Obey$Dir>.!Sprites' this loads the new sprite
in. The filer always calls any new (ie renamed) app's !Boot
file so the new sprite is automatically loaded for display.
Please feel free to use the utility separately from the
rest of the package but please note that the conditions set
out below apply to it.
Versions
--------
v1.00 Initial release
Conditions of Use
-----------------
This application is supplied free to everyone 'as is', I
do not give any guarantee that it is free of bugs, or
supply any warranty about its suitabliliy for use. However
if there are any problems with it and you notify me of them
then I probably will do my best to recify them.
You are may give this application to anyone, via any
medium, so long as :-
1) It is delivered with ALL the supplied files and
unaltered (except !Run & !Boot files) .
2) It is not supplied on a disc you are charging
for (except for media and postage costs).
You have permission to use any part or the whole
application in a project you intend to place in the public
domain, as long as I am fully credited. If you wish to use
these routines in a program that is for sale (for however
much and for whatever reasons) or released as copyright
material then my express permission in writing must be
obtained. I maintain copyright on all the material
supplied and reserve the right to amend these conditions in
cases where I deem misuse.
A large number of hours of work have gone into the
production and maintenance of this application and although
I have supplied the application free, donations will be
gratefully received (and if over 10 pounds I will send you
a disc with updates of this and all other pd stuff I have
written. Please include a letter telling me which apps of
mine you use and their version numbers).
Contacts
--------
My address:
6 Parklands Place,
Guildford,
Surrey GU1 2PS.
BBSs I call frequently:
Arcade BBS [081 654 2212] mbx 23
email
maurp@uk.ac.warwick.cu
© Emmet Spier 1992 - USE and Enjoy!